home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Megahits 5
/
Megahits 5 (1994)(GTI - Rhein-Main-Soft)(DE)(Disc 2 of 2)[!].iso
/
archive
/
show
/
supervw_lib_82.lha
/
superview-lib
/
Programmers
/
include
/
svobjects
/
svobjects.h
< prev
Wrap
C/C++ Source or Header
|
1994-09-10
|
5KB
|
111 lines
/* svobjects/svobjects.h */
/* Version : 4.1 */
/* Date : 15.05.1994 */
/* Written by : Andreas R. Kleinert */
/* SVObject-Version V2.x+ */
#ifndef SVOBJECTS_SVOBJECTS_H
#define SVOBJECTS_SVOBJECTS_H
struct SVO_ObjectNode
{
struct Node svo_Node; /* chaining Node */
/* (svo_Node->ln_Name is NULL */
/* by default !) */
ULONG svo_Version; /* Library-Version of svobject */
ULONG svo_ObjectType; /* see below (SVO_OBJECTTYPE_...) */
UBYTE svo_FileName [108]; /* use 30, as in struct FileInfoBlock */
UBYTE svo_TypeID [32]; /* e.g. "GIF" */
ULONG svo_TypeCode; /* ... and its appropriate Code, , */
/* assigned by superview.library LATER. */
ULONG svo_SubTypeNum; /* actually available SubTypes */
/* (maximum 16) of the svobject. */
/* 0xFFFFFFFF means, that it is an */
/* INDEPENDENT entry, which is an */
/* unimplemented feature yet and */
/* means that the SubTypeID and */
/* SubTypeCode fields should be skipped. */
UBYTE svo_SubTypeID [16][16]; /* e.g. "87a" or "89a" */
ULONG svo_SubTypeCode [16]; /* ... and their appropriate Codes, */
/* assigned by superview.library LATER. */
/* version 2 extensions : */
ULONG svo_Flags; /* SVO_FLAG_... (see below) */
/* size may grow with bigger svo_Version, see below */
};
#define SVO_VERSION (2) /* If this Version, which depends on the */
/* svobject's Library-Version, is set, */
/* it is guaranteed, that at least the */
/* above information is available. */
#define SVO_FILENAME "INTERNAL" /* for internal svobjects only. */
#define SVO_OBJECTTYPE_NONE ((ULONG) 0)
#define SVO_OBJECTTYPE_UNKNOWN SVO_OBJECTTYPE_NONE
#define SVO_OBJECTTYPE_ILLEGAL ((ULONG) 0xFFFFFFFF)
#define SVO_OBJECTTYPE_INTERNAL ((ULONG) 1) /* internal */
#define SVO_OBJECTTYPE_INDEPENDENT ((ULONG) 2) /* UNIMPLEMENTED */
/* Handle them like EXTERNAL, */
/* but ignore some entries. */
#define SVO_OBJECTTYPE_EXTERNAL ((ULONG) 3) /* external svobject */
/* The following flags have been introduced with the V2 SVObjects
(depending on svo_Version : do not check them with V1 SVObjects).
They should help any applications deciding, whether a specific
SVObject may fulfil an action or not.
Note : Some SVObjects may not have the correct flags set and might
return SVERR_ACTION_NOT_SUPPORTED nevertheless
*/
#define SVO_FLAG_READS_TO_BUFFER (1<<0) /* allows reading to SV_GfxBuffer */
#define SVO_FLAG_READS_TO_SCREEN (1<<1) /* allows displaying on Screen */
#define SVO_FLAG_WRITES_FROM_BUFFER (1<<2) /* writes SV_GfxBuffer to file */
#define SVO_FLAG_WRITES_FROM_SCREEN (1<<3) /* writes Screen to file */
#define SVO_FLAG_SUPPORTS_SVDRIVER (1<<4) /* uses default SVDriver, */
/* if available */
#define SVO_FLAG_NEEDS_SVDRIVER (1<<5) /* needs valid default SVDriver */
/* for working. Developers : */
/* Set SVO_FLAG_SVDRIVER instead */
#define SVO_FLAG_SVDRIVER (SVO_FLAG_SUPPORTS_SVDRIVER | SVO_FLAG_NEEDS_SVDRIVER)
/* This structure has to be passed to SVObject's SVO_CheckFileType()
function, if media other than AKO_MEDIUM_DISK are used for reading.
This is supported since superview.library V4 and may be ignored by
SVObjects for compatibility reasons. To prevent older SVO_CheckFileType()
functions from crashing, superview.library will create a dummy-file and
pass it's handle also ...
("You wanna something to check ? - Here you get it !")
In the V3-SVObject specification this structure will HAVE TO be
examined, then. In the current V2-specification this is not the case.
*/
struct SVOCheckFile
{
ULONG svc_Medium; /* AKO_MEDIUM_... */
ULONG svc_Future; /* as usual */
};
#endif /* SVOBJECTS_SVOBJECTS_H */